class_name GameplayAbility
extends Node
## Gameplay Ability
## Version: 0.1.0


func on_setup() -> void:
	_on_setup()


func try_apply() -> bool:
	if _try_apply():
		apply()
		return true
	return false


func apply() -> void:
	_apply()


func on_update(delta: float) -> void:
	_on_update(delta)


#region Need to override
func _on_setup() -> void:
	pass


func _try_apply() -> bool:
	return false


func _apply() -> void:
	pass


func _on_update(_delta: float) -> void:
	pass
#endregion
